در اﻳﻦ ﻗﺴﻤﺖ ﻣﻲ ﺧﻮاھﯿﻢ ﺑﺎ ﻳﻚ ﺳﺮی از اﺻﻮل اوﻟﯿﻪ ی ﺷﻲء ﮔﺮاﻳﻲ در ﺳﻲ ﺷﺎرپ ﻛﻤﻲ آﺷـﻨﺎ ﺷـﻮﻳﻢ. ﻻزم ﺑـﻪ ذﻛﺮ اﺳﺖ ، ﺑﺴﯿﺎری از ﻣﻮاردی ﻛﻪ در اﻳﻦ ﻗـﺴﻤﺖ ﻣﻄـﺮح ﻣـﻲ ﺷـﻮﻧﺪ ﻓﻘـﻂ ﺑـﺮای آﺷـﻨﺎﻳﻲ ﺷـﻤﺎ اﺳـﺖ و در آﻳﻨـﺪه ﺑﯿﺸﺘﺮ ﺑﺤﺚ و ﻣﺮور ﺧﻮاھﻨﺪ ﺷﺪ.
آﺷﻨﺎﻳﻲ ﺑﺎ ﻓﻀﺎھﺎی ﻧﺎم ( : ( Name Spaces
ﻓﻀﺎھﺎی ﻧﺎم روﺷﻲ ﺑﺮای ﻣﺪﻳﺮﻳﺖ ﻛﺪ ﻧﻮﻳﺴﻲ ھﺴﺘﻨﺪ. ﺑﺮای ﻣﺜﺎل آﻧﮫﺎ اﻳﺠﺎد ﺷﺪه اﻧﺪ ﺗـﺎ ﺗـﺪاﺧﻠﻲ ﺑـﯿﻦ ﻧـﺎم ھـﺎی ﺗﻮاﺑﻊ در ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ رخ ﻧﺪھﺪ. اﻳﻦ ﻣﺴﺎﻟﻪ در ﭘﺮوژه ھﺎی ﺑﺰرگ ﺧﻮد را ﻧﺸﺎن ﻣﻲ دھﺪ و ﻣﻤﻜﻦ اﺳﺖ دو آﻳﺘﻢ در ﻳـﻚ ﭘﺮوژه ﻧﺎم ھﺎی ﻳﻜﺴﺎﻧﻲ را ﭘﯿﺪا ﻛﻨﻨﺪ. ﺑﺪﻳﻦ وﺳﯿﻠﻪ اﻳﻦ ﺷﺎﻧﺲ ﺗﺼﺎدم و ﺗﺪاﺧﻞ ﻛﺎھﺶ ﭘﯿﺪا ﻣﻲ ﻛﻨﺪ. ﺑﺮای اﻳﺠـﺎد ﻳـﻚ ﻓﻀﺎی ﻧﺎم ﺑﻪ ﺻﻮرت زﻳﺮ ﻋﻤﻞ ﻣﻲ ﺷﻮد:
namespace anyName
}
..……
Class anyClassName
}
.………
{
.……
{
ﻳﻜﻲ از ﻓﻀﺎھﺎی ﻧﺎم ﭘﺎﻳﻪ ای در دات ﻧﺖ ﻓﺮﻳﻢ ورک ، ﻓﻀﺎی ﻧﺎم System ﻣﻲ ﺑﺎﺷﺪ. ﺗﻤﺎم ﻓﻀﺎھﺎی ﻧﺎم ﺑﻪ ﺻﻮرت ﭘﯿﺶ ﻓﺮض public ﻣﻲ ﺑﺎﺷﻨﺪ و در ﺧﺎرج از ﻛﺪ ﺷﻤﺎ ﻗﺎﺑـﻞ دﺳﺘﺮﺳـﻲ ھـﺴﺘﻨﺪ. روش اﺳﺘﻔﺎده از آﻧﮫﺎ ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ:
ProjectName.NameSpace.ClassName.MemberName
ﻧﻜﺘﻪ :
اﮔﺮ دﻗﺖ ﻛﺮده ﺑﺎﺷﯿﺪ ھﻨﮕﺎﻣﻲ ﻛﻪ ﻛﺮﺳﺮ ﻣﺎوس را روی ھﺮ آﻳﺘﻤﻲ در ﻣﻨﻮی auto completeﻧﮕﻪ ﻣﻲ دارﻳﺪ و ﻳﺎ آﻧﺮا
اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﯿﺪ ﻳﻚ راھﻨﻤﺎی ﻛﻮﭼﻚ ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮد ﻛـﻪ در ﺣﻘﯿﻘـﺖ ﻛﺎﻣﻨـﺖ ﻣﺮﺑـﻮط ﺑـﻪ آن ﺗـﺎﺑﻊ ﻣـﻲ ﺑﺎﺷـﺪ.
روش ﻧﻮﺷﺘﻦ ﭼﻨﯿﻦ ﻛﺎﻣﻨﺖ ﺣﺮﻓﻪ ای ﻛﻪ در ﻣﻨﻮھﺎی وﻳﮋوال اﺳﺘﻮدﻳﻮ ﻇﺎھﺮ ﺷﻮد ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ :
<///
ﺑﺮای اﺳﺘﻔﺎده از اﻳﻦ ﺧﺎﺻﯿﺖ ﺟﺪﻳﺪ ، در ﻓﺎﻳﻞ Class۱.csﻛﻪ ﻣﺘﺪ main ﺑﺮﻧﺎﻣﻪ ی ﻣﺎ در آﻧﺠﺎ ﻗﺮار دارد ﺑﻪ ﺻـﻮرت زﻳـﺮ ﻋﻤﻞ ﻣﻲ ﻛﻨﯿﻢ :
clsDate m_var = new clsDate(); // initialize variable
;( Console.WriteLine ( m_var.currentSystemDate
!Console.ReadLine(); //pause
ﺗﻮﺿﯿﺢ ﻛﺪ ﻓﻮق :
ﺑﺮای اﺳﺘﻔﺎده از ﻳﻚ ﻛﻼس ﺑﺎﻳﺪ ﻳﻚ ﻣﺘﻐﯿﺮ از آن را ﺗﻌﺮﻳﻒ ﻛﻨﯿﻢ. در ھﺮ زﺑﺎﻧﻲ ﻳﻚ ﺳﺮی ﻧـﻮع ھـﺎی اﺳـﺘﺎﻧﺪارد ﻣﺎﻧﻨـﺪ int و string و ﻏﯿﺮه وﺟﻮد دارﻧﺪ. ﻛﻼس ھﻢ در ﺣﻘﯿﻘﺖ ﻳﻚ ﻧـﻮع داده ی ﺑـﺴﯿﺎر ﺑـﺴﯿﺎر ﻗﺪرﺗﻤﻨـﺪ ﺑـﻪ ﺷـﻤﺎر ﻣـﻲ آﻳـﺪ. ﺑﺮای ﺗﻌﺮﻳﻒ ﻳﻚ ﻣﺘﻐﯿﺮ از ﻧﻮع ﺟﺪﻳﺪ روش ﻛﺎر ﻣﺎﻧﻨﺪ ﺳﺎﺑﻖ اﺳﺖ. ﺑﺮای ﻣﺜﺎل زﻣﺎﻧﻲ ﻛﻪ ﻳﻚ ﻣﺘﻐﯿﺮ ﻋﺪد ﺻﺤﯿﺢ را ﺗﻌﺮﻳـﻒ ﻣﻲ ﻛﻨﯿﺪ ﺑﻪ ﺻﻮرت زﻳﺮ ﻋﻤﻞ ﻣﻲ ﺷﻮد :
;۰=int i
ﺑﺮای ﺗﻌﺮﻳﻒ ﻳﻚ ﻣﺘﻐﯿﺮ از ﻧﻮع داده ای ﻛﻪ ﺧﻮدﻣﺎن ﺗﻌﺮﻳﻒ ﻛﺮده اﻳﻢ ﻧﯿﺰ ﺑﺎﻳﺪ ﺑﻪ ھﻤﯿﻦ ﺻﻮرت ﻋﻤﻞ ﺷﻮد.
;()clsDate m_var = new clsDate
از ﻛﻠﻤﻪ ی ﻛﻠﯿﺪی newاﻳﻨﺠﺎ ﺑﻪ ﺻـﻮرت اﺳـﺘﺎﻧﺪارد ﺑـﺮای ﻣﻘـﺪار دھـﻲ اوﻟﯿـﻪ ﺑـﻪ اﻳـﻦ ﻣﺘﻐﯿـﺮ ﺟﺪﻳـﺪ اﺳـﺘﻔﺎده ﻣـﻲ ﻧﻤﺎﻳﯿﻢ.
ﺳﭙﺲ ﺑﻪ روش دﺳﺘﯿﺎﺑﻲ ﺑﻪ اﻳﻦ ﺧﺎﺻﯿﺘﻲ ﻛﻪ ﺑﻪ ﻛﻼس اﺿﺎﻓﻪ ﻛﺮده اﻳﻢ ﻣﻲ رﺳﯿﻢ.
m_var.currentSystemDate
ﻛﻼ ﭼﻪ ﻳﻚ ﺧﺎﺻﯿﺖ و ﻳﺎ ﻳﻚ ﻣﺘﺪ را ﺑﻪ ﻛﻼس اﺿﺎﻓﻪ ﻧﻤﺎﻳﯿﻢ ﺑﺮای دﺳﺘﯿﺎﺑﻲ ﺑـﻪ آن از ﻋﻤﻠﮕـﺮ ﻧﻘﻄـﻪ ﭘـﺲ از ذﻛـﺮ ﻧـﺎم ﻣﺘﻐﯿﺮ ﺗﻌﺮﻳﻒ ﺷﺪه از ﻧﻮع ﻛﻼس ﺧﻮد ، اﺳﺘﻔﺎده ﻣﻲ ﻧﻤﺎﻳﯿﻢ. ﺑﺮای اﺳﺘﻔﺎده از ﺧﺎﺻﯿﺖ ھـﺎ ﻧﯿـﺎزی ﺑـﻪ آوردن () ﺑﻌـﺪ از ذﻛﺮ ﻧﺎم ﺧﺎﺻﯿﺖ ﻧﻤﻲ ﺑﺎﺷﺪ.
ﻋﻤﻮﻣﺎ از ﺧﺎﺻﯿﺖ ھﺎ ﺑﺮای ﺑﺮﮔﺮداﻧﺪن و ﻳﺎ ﺗﻨﻈﯿﻢ ﻳﻚ ﻣﻘﺪار ﺳﺎده اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد و در آﻧﮫـﺎ ﻋﻤﻠﯿـﺎت ﭘﯿﭽﯿـﺪه ای ﻣﺪ ﻧﻈﺮ ﻧﻤﻲ ﺑﺎﺷﺪ.
; () System.DateTime.Today.ToString
ﺗﻮﺿﯿﺤﻲ در ﻣﻮرد اﺳﺘﻔﺎده از ﺧﻮاص :
ﺷﻤﺎ ﺑﻪ وﻳﮋﮔﻲ ھﺎی ﻳﻚ ﺷﻲء ﺑﺎ اﺳﺘﻔﺎده از ﺧﻮاص آن ﻣﻲ ﺗﻮاﻧﯿـﺪ دﺳﺘﺮﺳـﻲ ﭘﯿـﺪا ﻛﻨﯿـﺪ. ﻳـﻚ property ﻋـﻀﻮی اﺳﺖ ﻛﻪ اﻣﻜﺎن دﺳﺘﺮﺳﻲ ﺑﻪ وﻳﮋﮔﻲ ﺷﻲء ﻳﺎ ﻛﻼس را ﻓﺮاھﻢ ﻣﻲ ﻛﻨﺪ. ﺑﺮای ﻣﺜﺎل ﻃﻮل ﻳﻚ رﺷﺘﻪ ( ، (stringﺳـﺎﻳﺰ ﻳﻚ ﻓﻮﻧﺖ ، ﻋﻨﻮان ﻳﻚ ﻓﺮم و ﻧﺎم ﻳﻚ ﻣﺼﺮف ﻛﻨﻨﺪه ، ﺧﺎﺻﯿﺖ ھﺴﺘﻨﺪ .
ﺑﺴﯿﺎری از اﺷﯿﺎء ذاﺗﻲ دات ﻧﺖ ﻓﺮﻳﻢ ورک ، ﺧﻮاص ﻣﻔﯿﺪ زﻳﺎدی را ﺑﻪ ھﻤﺮاه دارﻧﺪ. ﺑﺮای ﻣﺜﺎل ﺷـﻲء DateTime را در ﻧﻈﺮ ﺑﮕﯿﺮﻳﺪ. ﺑﺎ اﺳﺘﻔﺎده از ﺧﺎﺻﯿﺖ Todayآن ﻣﻲ ﺗﻮان ﺗﺎرﻳﺦ ﺟﺎری ﺳﯿﺴﺘﻢ را ﺑﺪﺳﺖ آورد. ﺑﺮای اﺳـﺘﻔﺎده از ﻳـﻚ ﺧﺎﺻﯿﺖ ﻻزم اﺳﺖ ﺗﺎ ﻛﻼس ﺗﻌﺮﻳﻒ ﻛﻨﻨﺪه ﺷﻲء در ﺑﺮﻧﺎﻣﻪ ﻣﮫﯿﺎ ﺑﺎﺷﺪ. ﻣﻨﻈﻮر ھﻤﺎن اﺳـﺘﻔﺎده از ﻓـﻀﺎی ﻧـﺎم ﻣﺮﺑﻮﻃـﻪ ﻣﻲ ﺑﺎﺷﺪ. ﭘﺲ از وارد ﻛﺮدن ﻓﻀﺎی ﻧﺎم ﻛﻼس ﻣﻮرد ﻧﻈﺮ ﻣﻲ ﺗﻮاﻧﯿﺪ از ﺷﻲء و ﺧﻮاص آن اﺳﺘﻔﺎده ﻛﻨﯿﺪ. دو راه وﺟﻮد دارد ﻳﺎ ﺑﻪ ﺻﻮرت ﻛﺎﻣﻞ ﺗﻤﺎم ﻣـﻮارد ﺑﺎﻳـﺪ ذﻛـﺮ ﺷـﻮﻧﺪ ﻣﺎﻧﻨـﺪ ; System.DateTime.Nowو ﻳـﺎ ﺑـﺎ وارد ﻛـﺮدن ﻓـﻀﺎی ﻧـﺎم Systemﻛﻮﺗﺎه ﺳﺎزی ﺻﻮرت ﻣﻲ ﮔﯿﺮد.
ﺑﺮای اﺳﺘﻔﺎده از ھﺮ ﻣﺘﺪ و ﻳﺎ ﺷﻲء اﻳﻲ در ﺳﻲ ﺷﺎرپ ﺑﺎﻳﺪ اﻳﻦ ﺷﻲء ﻗﺎﺑـﻞ دﺳﺘﺮﺳـﻲ ﺑﺎﺷـﺪ. ﺑـﺮای ﻣﺜـﺎل ﺷـﻲء Console ﻛﻪ از آن ﺑﺮای ﭼﺎپ ﻛﺮدن ﺧﺮوﺟﻲ ﺑـﺮ روی ﺻـﻔﺤﻪ ی ﻧﻤـﺎﻳﺶ اﺳـﺘﻔﺎده ﻣـﻲ ﻛﻨـﯿﻢ در ﻓـﻀﺎی ﻧـﺎم System واﻗﻊ ﺷﺪه اﺳﺖ. ﻳﺎ ﺑﺎﻳﺪ در اﺑﺘﺪای ﺑﺮﻧﺎﻣﻪ ذﻛﺮ ﻛﺮد ; using Systemو ﺳـﭙﺲ ﺧﯿﻠـﻲ راﺣـﺖ از اﻳـﻦ ﺷـﻲء اﺳـﺘﻔﺎده ﻛﺮد و ﻳﺎ ﻣﻲ ﺗﻮان اﻳﻨﻜﺎر را اﻧﺠﺎم ﻧﺪاد و ﻧﻮﺷﺖ : System.Consoleو اﻟﻲ آﺧﺮ. ﺑﺎ ذﻛﺮ ﻓﻀﺎی ﻧﺎم در اﺑﺘﺪا ﺑﺎ اﺳـﺘﻔﺎده از using ﻣﻲ ﺗﻮان ﺧﻼﺻﻪ ﻧﻮﻳﺴﻲ ﻛﺮد.
ﻧﺘﯿﺠﻪ ی ﻧﮫﺎﻳﻲ ﻣﺜﺎل اﻳﻦ ﻓﺼﻞ :
ﻣﺤﺘﻮﻳﺎت ﻓﺎﻳﻞ : Class۱.cs
;using System
namespace ex۳۰
}
</// <summary
.۱/// Summary description for Class
</// </summary
۱class Class
}
</// <summary
./// The main entry point for the application
</// </summary
[[STAThread
(static void Main(string[] args
}
clsDate m_var = new clsDate(); // initialize variable
;( Console.WriteLine ( m_var.currentSystemDate
!Console.ReadLine(); //pause
{
{
{
ﻣﺤﺘﻮﻳﺎت ﻓﺎﻳﻞ clsDate.csﻛﻪ ﺑﻪ ﺑﺮﻧﺎﻣﻪ اﺿﺎﻓﻪ ﻛﺮدﻳﻢ:
;using System
namespace ex۳۰
}
</// <summary
./// Summary description for clsDate
</// </summary
public class clsDate
}
()public clsDate
}
//
// TODO: Add constructor logic here
//
{
public string currentSystemDate
}
get
}
; ()return System.DateTime.Today.ToString
{
{
{
{
منابع : برگفته از سایت VCsharp.ir
نظرات شما عزیزان: